package controllers;

import java.util.List;

import org.eclipse.jdt.core.dom.SuperConstructorInvocation;

import play.mvc.With;

import models.Adpo;
import service.AdpoService;

@Check("InformationManage")
@With(Secure.class)
@CRUD.For(Adpo.class)
public class AdpoAction extends CRUD{

	/**
	 * 查询全部广告位的方法
	 */
	public static void list(){
		List<Adpo> adpos = AdpoService.findAll();
		render(adpos);
	}
	
	/**
	 * 跳转向添加页面的方法
	 */
	public static void blank(){
		render();
	}
	
	/**
	 * 广告位的添加方法
	 * 
	 * @param adpo 广告位对象
	 */
	public static void create(Adpo adpo){
		try {
			AdpoService.add(adpo);
			flash.success("添加成功");
			list();
		} catch (Exception e) {
			System.out.println("##########################AdpoAction.create(Adpo adpo)##################");
			e.printStackTrace();
			flash.success("添加失败");
			blank();
		}
	}
	
	/**
	 * 跳转向修改页面的方法
	 * 
	 * @param id  广告位id
	 */
	public static void show(Long id){
		Adpo adpo = AdpoService.findById(id);
		render(adpo);
	}
	
	/**
	 * 广告位的修改方法
	 * 
	 * @param adpo 广告位对象
	 */
	public static void update(Adpo adpo){
		try {
			AdpoService.update(adpo);
			flash.success("修改成功");
			list();
		} catch (Exception e) {
			System.out.println("##########################AdpoAction.update(Adpo adpo)##################");
			flash.success("修改失败");
			show(adpo.id);
		}
	}
	
	/**
	 * 删除广告位的方法
	 * 
	 * @param id  广告位id
	 */
	public static void delete(Long id){
		try {
			AdpoService.delete(id);
			flash.success("删除成功");
			list();
		} catch (Exception e) {
			System.out.println("##########################AdpoAction.delete(Long id)##################");
			flash.success("删除失败");
			list();
		}

	}
	
}
